package com.ht.api.hlink;

import javax.sql.DataSource;

import com.ht.api.db.Entity;
import com.ht.api.db.hlink.function.HlinkFunction;
import com.ht.api.db.util.HtUtil;

import cn.hutool.core.util.StrUtil;

/**
 * 生成触点mainid
 * @author asq
 * @createTime 2025年4月8日 16:08:44
 */
public class CreateTouchMainId implements HlinkFunction<String> {

	@Override
	public String format(DataSource ds, Object value, Entity entity) {
		// 获取组装后的entity中的appid和touch_id，然后用appid+touch_id生成我们平时生成的mainid的方法的值，
		// 然后设置到entity的touch_main_id中，如果appid和touch_id任意一个为空，则跳过
		String appid = entity.getStr("appid");
		String touchId = entity.getStr("touch_id");
		if (StrUtil.isBlank(appid) || StrUtil.isBlank(touchId)) {
			return null;
		}
		
		return HtUtil.uniqueStrToNum(appid + touchId);
	}

}
